package cn.iocoder.yudao.module.contract.controller.admin.invoice.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 发票新增/修改 Request VO")
@Data
public class InvoiceSaveReqVO {

    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "19769")
    private Long id;

    @Schema(description = "发票代码")
    private String fpdm;

    @Schema(description = "发票号码")
    private String fphm;

    @Schema(description = "开票日期")
    private String kprq;

    @Schema(description = "发票类型 004增值税专用发票 026增值税电子普通发票 081数电专票 082数电普票")
    private String fplx;

    @Schema(description = "发票状态 0正数、1负数、2空白作废、3正数作废、4负数作废")
    private String fpzt;

    @Schema(description = "不含税金额")
    private String hjje;

    @Schema(description = "含税金额")
    private String jshj;

    @Schema(description = "税额")
    private String hjse;

    @Schema(description = "销售方名称")
    private String xfmc;

    @Schema(description = "购买方名称")
    private String gfmc;

    @Schema(description = "税票ID号", example = "10106")
    private String zskpId;

    @Schema(description = "关联订单ID（发票与订单关联主键）", example = "18321")
    private String ddSqkpRecordId;

    @Schema(description = "订单完结状态")
    private String ddwjzt;

    @Schema(description = "订单类型")
    private String auart;

    @Schema(description = "合同管控类型")
    private String zzhtgklx;

    @Schema(description = "合同管控类型描述")
    private String zzhtgklxms;

    @Schema(description = "运输方式")
    private String vsbed;

    @Schema(description = "运输方式描述")
    private String vsbedms;

    @Schema(description = "红冲状态 0未红冲，1已红冲")
    private String hczt;

    @Schema(description = "原发票号码")
    private String yfphm;

    @Schema(description = "区域名称", example = "李四")
    private String salesmethodname;

    @Schema(description = "雇员名称", example = "王五")
    private String qyusername;

    @Schema(description = "公司编码", example = "31616")
    private String companyid;

    @Schema(description = "组织名称", example = "芋艿")
    private String sellertaxname;

    @Schema(description = "组织编码", example = "29130")
    private String sellertaxid;

    @Schema(description = "开票月")
    private String invoiceMonth;

    @Schema(description = "所属合同号")
    private String contractNo;

    @Schema(description = "合同生成日期")
    private LocalDateTime contractGeneratedTime;

    @Schema(description = "状态", example = "2")
    private String status;

}